home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #2 / Amiga Plus CD - 1995 - No. 2.iso / internet / faq / englisch / comp.client-server < prev    next >
Encoding:
Text File  |  1995-04-11  |  24.4 KB  |  519 lines

  1. Posted-By: auto-faq 3.1.1.2
  2. Archive-name: client-server-faq
  3. Posting-frequency: Monthly 
  4.  
  5. comp.client-server  Frequently Asked Questions  
  6.  
  7. Information about this document
  8. *******************************
  9.  
  10. Contained below is a list of the most commonly asked questions about
  11. client/server in comp.client-server. Before posting to comp.client-server, if 
  12. you are new to the group, check to see if your question(s) are already answered
  13. below.  Corrections and/or additions to the list can be emailed to :-
  14.  
  15. cs-faq@aplcomm.jhuapl.edu
  16.  
  17. And I'll try to add them as soon as possible....
  18.  
  19. -- Lloyd Taylor
  20.    comp.client-server FAQ maintainer
  21.  
  22.  
  23. Table of Contents
  24. *****************
  25.  
  26.  
  27. Part 1: Introduction and Miscellaneous questions
  28. ************************************************
  29.  
  30. i. What archives/FTP sites are available with client-server related 
  31. material?
  32.  
  33.  
  34. Part 2: Basic Concepts of client/server architecture
  35. ****************************************************
  36.  
  37. 1.   What is Client-server Computing?
  38. 2.   What is a Client Process?
  39. 3.   What is a Server Process?
  40. 4.   What is Middleware?
  41. 5.   What is Cooperative Processing? 
  42. 6.   What is Distributed Processing? 
  43. 7.   What is Reengineering? 
  44. 8.   What are the characteristics of a Client/Server architecture?
  45. 9.   What are the different types of Servers?
  46. 10. What are the different client/server processing styles?
  47. 11. What is Distributed or Remote Presentation?
  48. 12. What is Remote Data Management?
  49. 13. What is Distributed Function Processing?
  50. 14. What is IBM's System Application Architecture?
  51. 15. What is APPLE's VITAL architecture?
  52. 16. What is Sun's Open Network Computing Architecture?
  53. 17. What is Digital's Network Application System (NAS) architecture?
  54. 18. What is OSF-DCE?
  55. 19. What are DOMS (Distributed Object Management Systems)?
  56. 20. What is CORBA?
  57. 21. What is DAE?
  58.  
  59. Part 3: Books and Articles on Client/Server computing
  60.         ********************************************
  61.  
  62.  
  63.  
  64. __________________________________________________________
  65.  
  66. i. What archives/FTP sites are available with client-server related 
  67. material?
  68.  
  69. Object Management Group archives:
  70.     ftp://omg.org
  71.  
  72. OSF/DCE FAQ
  73.     http://www.osf.org:8001/dce/faq-mauney.html
  74.     ftp://ftp.dstc.edu.au/pub/DCE/FAQ
  75.  
  76. Standards Acronyms:
  77.     ftp://rtfm.mit.edu/pub/usenet/news.answers/standards-faq
  78. _________________________________________________________
  79.  
  80.  
  81.  
  82. 1. What is Client-server Computing?
  83.    ******************************
  84. Client/Server processing refers to a style of computing based on a 
  85. requestor-server approach where communication is accomplished through 
  86. messaging.  Client-server processing refers to a type of computing based 
  87. on a message-passing between communicating processes. The requester, 
  88. usually the client, asks for some specific of service and the server responds 
  89. by servicing the request or providing the information. The 
  90. communications between the client  and server occur through messages 
  91. (e.g. RPC (Remote Procedural Call), Named Pipes) and may be conducted 
  92. on a single host computer.  The simplest form of a client/server application 
  93. has only two pieces: a client process and a server process connected via a 
  94. network.  The server process is the provider of services and the client is a 
  95. consumer of services.
  96.  
  97. 2. What is a Client process?
  98.    *********************** 
  99. The client is a process (program) that sends a message to a server process 
  100. (program), requesting that the server perform a task (service). Client 
  101. programs usually manage the user-interface portion of the application, 
  102. validate data entered by the user, dispatch requests to server programs, and 
  103. sometimes execute business logic. The client-based process is the front-
  104. end of the application that the user sees and interacts with. The client 
  105. process contains solution-specific logic and provides the interface between 
  106. the user and the rest of the application system. The client process also 
  107. manages the local resources that the user interacts with such as the 
  108. monitor, keyboard, workstation CPU and peripherals. One of the key 
  109. elements of a client workstation is the graphical user interface (GUI). 
  110. Normally a part of operating system i.e. the window manager detects user 
  111. actions, manages the windows on the display and displays the data in the 
  112. windows.
  113.  
  114.  
  115. 3. What is a Server process?
  116.    *********************** 
  117. A server process (program) fulfills the client request by performing the 
  118. task requested. Server programs generally receive requests from client 
  119. programs, execute database retrieval and updates, manage data integrity 
  120. and dispatch responses to client requests. Sometimes server programs 
  121. execute common or complex business logic. The server-based process 
  122. "may" run on another machine on the network. This  server could be the 
  123. host operating system or network file server; the server is then provided 
  124. both file system services and application services. Or in some cases, 
  125. another desktop machine provides the application services. The server 
  126. process acts as a software engine that manages shared resources such as 
  127. databases, printers, communication links, or high powered-processors. The 
  128. server process performs the back-end tasks that are common to similar 
  129. applications.  
  130.  
  131.  
  132. 4. What is Middleware?
  133.    ******************** 
  134. Connectivity allows applications to transparently communicate with other 
  135. programs or processes, regardless of their location.  The key element of 
  136. connectivity is the network operating system (NOS). NOS provides 
  137. services such as routing, distribution, messaging, file and print, and 
  138. network management services.  NOS rely on communication protocols to 
  139. provide specific services. The protocols are divided into three groups: 
  140. media, transport and client-server protocols. Media protocols determine 
  141. the type of physical connections used on a network (some examples of 
  142. media protocols are Ethernet, Token  Ring, Fiber Distributed Data 
  143. Interface (FDDI), coaxial and twisted-pair). A transport protocol provides 
  144. the mechanism to move packets of data from client to server (some 
  145. examples of transport protocols are Novell's IPX/SPX, Apple's AppleTalk, 
  146. Transmission Control Protocol/ Internet Protocol (TCP/IP), Open Systems 
  147. Interconnection (OSI) and Government Open Systems Interconnection 
  148. Profile(GOSIP)).  Once the physical connection has been established and 
  149. transport protocols chosen, a client-server protocol is required before the 
  150. user can access the network services. A client-server protocol dictates the 
  151. manner in which clients request  information and services from a server 
  152. and also how the server replies to that request (some examples of client-
  153. server protocols are NetBIOS, RPC, Advanced Program-to-Program 
  154. Communication (APPC), Named Pipes, Sockets, Transport Level Interface 
  155. (TLI) and Sequenced Packet Exchange (SPX)).
  156.  
  157.  
  158. 5. What is Cooperative Processing?
  159.    ******************************
  160. Cooperative processing is computing which requires two or more distinct 
  161. processors to complete a single transaction.  Cooperative processing is 
  162. related to both distributed and client/server processing. It is a form of 
  163. distributed computing where two or more distinct processes are required to 
  164. complete a single business transaction. Usually, these programs interact 
  165. and execute concurrently on different processors. Cooperative processing 
  166. can also be considered to be a style of client/server processing if 
  167. communication between processors is performed through a message 
  168. passing architecture. 
  169.  
  170. 6. What is Distributed Processing?
  171.    ******************************
  172. The distribution of applications and business logic across multiple 
  173. processing platforms.  Distributed processing implies that processing will 
  174. occur on more than one processor in order for a transaction to be 
  175. completed. In other words, processing is distributed across two or more 
  176. machines and the processes are most likely not running at the same time, 
  177. i.e. each process performs part of an application in a sequence. Often the 
  178. data used in a distributed processing environment is also distributed across 
  179. platforms.
  180.  
  181.  
  182. 7. What is Reengineering?
  183.    *********************
  184. Reengineering is the organizational process required to align people, 
  185. processes and technology with strategies to achieve business integration. It 
  186. can also be thought of as taking a business in its current state and forming 
  187. an organizational and operational blueprint to redirect skills, policies, 
  188. information (data), cultural values, organizational structures, processing 
  189. and incentives towards targeted improvements.
  190.  
  191.  
  192. 8. What are the characteristics of a client/server architecture?
  193.    ************************************************************
  194. The basic characteristics of client/server architectures are:
  195.  
  196. 1) combination of a client or front-end portion that  interacts with the user, 
  197. and a server or back-end portion that interacts with the shared resource. 
  198. The client process contains solution-specific logic and provides the 
  199. interface between the user and the rest of the application system. The 
  200. server process acts  as a software engine that manages shared resources 
  201. such as databases, printers, modems, or high powered processors. 
  202.  
  203. 2) the front-end task and back-end task have fundamentally different 
  204. requirements for computing resources such as processor speeds, memory, 
  205. disk speeds and capacities, and input/output devices. 
  206.  
  207. 3) the environment is typically heterogeneous and multivendor. The 
  208. hardware platform and operating system of client and server are not 
  209. usually the same.Client and server processes communicate through a 
  210. well-defined set of standard application program interfaces (API's) and 
  211. RPC's.
  212.  
  213. 4) An important characteristic of client-server systems is scalability. They 
  214. can be scaled horizontally or vertically. Horizontal scaling means adding 
  215. or removing client workstations with only a slight performance impact. 
  216. Vertical scaling means migrating to a larger and faster server machine or 
  217. multiservers.
  218.  
  219.  
  220. 9. What are the  different types of servers?
  221.    ***********************************
  222. The simplest form of servers are disk servers and file servers. With a file 
  223. server, the client passes requests for files or file records over a network to 
  224. the file server. This form of data service requires large bandwidth and can 
  225. slow a network with many users down considerably. Traditional LAN 
  226. computing allows users to share resources, such as data files and 
  227. peripheral devices, by moving them from standalone PCUs onto a 
  228. Networked File Server (NFS).
  229.  
  230. The more advanced form of servers are database servers, transaction 
  231. server and application servers (Orfali and Harkey 1992). In database 
  232. servers, clients passes SQL (Structured Query Language) requests as 
  233. messages to the server and the results of the query are returned over the 
  234. network. The code that processes the SQL request and the data resides on 
  235. the server allowing it to use its own processing power to find the requested 
  236. data, rather than pass all the records back to a client and let it find its own
  237. data as was the case for the file server. In transaction servers, clients 
  238. invoke remote procedures that reside on servers which also contains an 
  239. SQL database engine. There are procedural statements on the server to 
  240. execute a group of SQL statements (transactions) which either all succeed 
  241. or fail as a unit. The applications based on transaction servers are called 
  242. On-line Transaction Processing (OLTP) and tend to be mission-critical 
  243. applications which require 1-3 second response time, 100% of the time 
  244. and require tight controls over the security and integrity of the database.  
  245. The communication overhead in this approach is kept to a minimum as the  
  246. exchange typically consists of a single request/reply (as opposed to 
  247. multiple SQL statements in database servers). Application servers are not 
  248. necessarily database centered but are used to server user needs, such as. 
  249. download capabilities from Dow Jones or regulating a  electronic mail 
  250. process. Basing resources on a server allows users to share data, while 
  251. security and management services, which are also based in the server, 
  252. ensure data integrity and security. 
  253.  
  254.  
  255. 10. What are the different client/server processing styles?
  256.     **********************************************
  257. Gartner group came out with the five ways of describing the different c/s 
  258. styles based on how they split the three components of any application: 
  259. user interface, business or application logic, data management. The five 
  260. styles are distributed presentation, remote presentation,  distributed 
  261. function, remote data managementand  distributed data management.
  262.  
  263. (Note: This is an arbitary classification and others may do it differently)
  264.  
  265. 11. What is distributed or remote presentation?
  266.     **************************************
  267. For people whose roots are embedded in the mainframe IBM world, 
  268. client-server is  essentially distributed or remote presentation. This style 
  269. maps a workstation Graphical User Interface (GUI)  front end onto an 
  270. existing application's text-based screen. This   is also called Remote, 
  271. Mapping, Front-ending or HLLAPI (High-Level Language Application 
  272. Programming Interface). The  mode of operation is typically intelligent 
  273. workstations intercepting and interrogating text-screen (e.g. 3270) data 
  274. streams sent from a host for display in a windowed environment.This is   
  275. "frontware" solution, where a GUI front end is added to an IBM/MVS 
  276. 3270/5250 application and is placed on a workstation.   However, most 
  277. processing remains on the host or server, with the exception of user 
  278. interface translation logic and possibly validation logic.  For example,  
  279. data from an application program is sent to a 3270 screen program on the 
  280. mainframe to be displayed. The  merged data is sent to the workstation as 
  281. a 3270 data stream.The workstation interprets the data and converts it to 
  282. graphical form in a window. (Typically every mainframe screen used by 
  283. the application has a corresponding window on the workstation and vice 
  284. versa). When the user enters the data in a GUI window, it is transformed 
  285. by the frontware application into a corresponding 3270 data format and is 
  286. sent to the host computer. 
  287.  
  288.  
  289. 12. What is Remote Data Management?
  290.     ***********************************
  291. In remote data management, the entire application resides on the client and 
  292. the data managment is located on a remote server/host.   Remote Data 
  293. Management is relatively easily to program for because there is just one 
  294. application program. The client communicates with the server using SQL, 
  295. the server then responds with data that satisfies the query.  RDBMS 
  296. products that offer remote data management provide a layer of software on 
  297. the client to handle the communication with the DBMS server.This style 
  298. represents a more traditional LAN database server or file server approach. 
  299. Workstations support the presentation and function logic and interface 
  300. with the data server through the data manipulation language.Distributed 
  301. data management is an extension of remote data management and uses the 
  302. distributed facilities of the DBMS to access distributed data in a manner 
  303. transparent to users. This is most relevant for architectures having data 
  304. spread  across  several servers and when access to a DBMS on another 
  305. server is required.
  306.  
  307. 13. What is distributed function processing?
  308.     ***********************************
  309. Here the split occurs in the application functionality, one part going to the 
  310. client, other to the server. Distributed function applications are the most 
  311. complex of the three typologies  since two separately compiled application 
  312. programs must be developed.  Developers must analyze where each 
  313. function should reside and what type of dialog must occur between the 
  314. two programs. The underlying communications facilities may implement 
  315. either a message-based or remote procedure call (RPC) mechanism for 
  316. transfer of dialog and data.  However, there are many variants of this 
  317. typology. One variant of the distributed function style is where data 
  318. management and application function occur at both the client and server. 
  319. In this instance, data management at the client would include referential, 
  320. read-only data. Data frequently updated or accessed by many users would 
  321. reside on the server.
  322.  
  323. 14. What is IBM's System Application Architecture?
  324.     ******************************************
  325. SAA is a collection of selected software interfaces, conventions, and 
  326. protocols that are used as a framework for developing consistent, 
  327. integrated applications across the major IBM computing environments.
  328.  
  329. Four major components of this architecture are:
  330. - Common User Access (CUA) defines conventions for GUI look and feel.
  331. - Common Programming Interface (CPI) provides languages, tools, and 
  332. APIs that give applications greater portability and more consistent user 
  333. interfaces across multiple platforms. 
  334. - Common Communication Support (CCS) supports existing 
  335. communications standards, such as LU 6.2. 
  336. - Common Applications, written by IBM, will serve as demonstrations of 
  337. SAA  concepts and make it easy for users to migrate between systems. 
  338.  
  339. 15. What is APPLE's VITAL architecture?
  340.     ***********************************
  341. VITAL provides a way of building information systems constructed from 
  342. generalized modules that can be reused and shared.It specifies how to 
  343. construct and provide interfaces for these modules. A cornerstone of 
  344. Apple's client/server architecture is Data Access Language (DAL).  DAL 
  345. consists of software components for the client and the server (Macintosh 
  346. System 7 includes the client component, DOS and Windows clients are 
  347. sold separately).  DAL sits between the client and server components.  
  348. This approach allows varied clients to communicate with many different 
  349. servers.  With DAL, a change in the DBMS does not affect the front-end; 
  350. it simply requires the appropriate DAL link.
  351.  
  352.  
  353. 16. What is Sun's Open Network Computing Architecture?
  354.     ***********************************************
  355. Open Network Computing (ONC) is the Sun architecture, with third party 
  356. alliances providing the missing pieces.  Sun's RPC is licensed by more 
  357. than 300 companies, including DEC, IBM, and Apple Computer.  It is a 
  358. lean, efficient  RPC that is particularly effective for installations not 
  359. requiring WAN support.  Transport Independent Remote Procedure Calls 
  360. (TI-RPC) were co-developed by Sun and AT&T.  TI-RPC runs 
  361. independent of the underlying network transport, allowing applications to 
  362. run unmodified over multiple transport protocols including NetWare, 
  363. PC\NFS, AIX/6000, Solaris, UNIX\SVR4, AIX/ESA.  NetWise developed 
  364. the TI-RPC Application Toolkit source code generation technology. 
  365. NetManage developed ONC RPC-Dynamic Link Library, an 
  366. implementation of RPC/XDR under windows 3.0.
  367.  
  368.  
  369. 17. What is Digital's Network Application System (NAS) architecture?
  370.     *********************************************************
  371. NAS is a software suite that enables applications to be integrated across a 
  372. distributed network of multivendor systems: NAS services are divided 
  373. into four main groups:
  374. -Application Access Services which support user interface (forms based, 
  375. graphical or character terminal based)
  376. -Communication and Central services which support communications 
  377. using electronic mail and EDI
  378. -Information and resource sharing, which supports database access and 
  379. compound documents (collection of images, graphics and conventional 
  380. text)
  381. -System Access services which provides a standard operating system 
  382. interface.
  383.  
  384.  
  385. 18. What is OSF-DCE?
  386.     ******************* 
  387. (Extracted, with permission, from the DCE FAQ, available at
  388. http://www.osf.org:8001/dce/faq-mauney.html)
  389.  
  390. DCE is the Distributed Computing Environment, from the Open Software
  391. Foundation. (It is called "the DCE" by sticklers for grammatical
  392. consistency.)
  393.  
  394. DCE consists of multiple components which have been integrated to work
  395. closely together.  They are the Remote Procedure Call (RPC), the Cell
  396. and Global Directory Services (CDS and GDS), the Security Service, DCE
  397. Threads, Distributed Time Service (DTS),and Distributed File Service
  398. (DFS).  The Threads, RPC, CDS, Security, and DTS components are
  399. commonly referred to as the "secure core" and are the required
  400. components of any DCE installation.  DFS is an optional component.
  401.  
  402. DCE is called "middleware" or "enabling technology."  It is not
  403. intended to exist alone, but instead should be integrated or bundled
  404. into a vendor's operating system offering.  DCE's security and
  405. distributed filesystem, for example, can completely replace their
  406. current, non-network, analogs.
  407.  
  408.  
  409. 19. What are Distributed Object Management Systems  (DOMS)? 
  410.     ******************************************************
  411. DOMS provide a way of pulling diverse components together and 
  412. managing their communications. They are aimed at addressing the 
  413. following: 
  414.  - A single interface to manage the complexities of a heterogeneous         
  415.    environment 
  416.  - A uniform framework, based on standards and extensibility, to build,     
  417.    integrate, and deploy open distributed-computing applications
  418.  - A method for creating location independence for client applications.
  419.  
  420. (See "Software Without Walls"  by Herbert M. Osher Byte, March, 1992) 
  421. for an overview.
  422.  
  423. 20. What is CORBA?
  424.     *************** 
  425. CORBA stands for the Common Object Request Broker Architecture.  It is 
  426. designed to make sure that a client's request for service in a DOMS is sent 
  427. to the proper server.
  428.  
  429. (For technical details, peruse the Object Management Group ftp site at 
  430. omg.org)
  431.  
  432.  
  433. 21. What is DAE?
  434.     *************** 
  435. Distributed Application Environment is  designed to allow businesses to 
  436. use IBM's RISC System/6000 and PS/2 computers in a client/server 
  437. network (or standalone) for their business applications.  DAE consists (1)  
  438. MESSAGING services; (2) DATABASE services ; (3)  PRESENTATION 
  439. services; (4)  DEVICE services to capture data and to control a broad  
  440. category of controllers, devices, equipment and sensors.  
  441.  
  442. _____________________________________________________________
  443.  
  444.  Comp.client-server    Frequently Asked Questions  
  445. -------------------------------------------------------------------------- 
  446.  
  447.  
  448. Books
  449. ****** 
  450.  
  451. 1.      AUTHOR:           Berson, Alex
  452.     TITLE:          Client-server architecture / Alex Berson.              
  453.     PUBLISHED:     New York : McGraw-Hill, c1992.                         
  454.     SERIES:         J. Ranade series on computer communications            
  455.     ISBN:            0070050767 
  456.                      
  457. 2.    AUTHOR:           Smith, Patrick.
  458.     TITLE:             Client/server computing
  459.         PUBLISHED:    Carmel, Ind. : SAMS, c1992.                        
  460.     SERIES:         Professional reference series.            
  461.     ISBN:              0672300656
  462.  
  463. 3.     AUTHOR:         Orfali, Robert, Dan  Harkey.  
  464.     TITLE:          Client/server programming with OS/2 2.0  
  465.     PUBLISHED:      New York : Van Nostrand Reinhold, c1992.  
  466.     SERIES:         VNR computer library 
  467.     ISBN:           0442012195
  468.  
  469. 4.     AUTHOR:         Dewire, Dawna Travis
  470.         TITLE:        Client/server computing 
  471.     PUBLISHED:      New York : McGraw-Hill, c1993.                
  472.     SERIES:         James Martin/McGraw-Hill productivity series  
  473.     ISBN:           007016732X
  474.  
  475. 5.     AUTHOR:         Renaud, Paul E., 1957-  
  476.     TITLE:          Introduction to client/server systems : a practical 
  477.             guide for systems professionals / Paul E. Renaud.
  478.     PUBLISHED:     New York : Wiley, c1993.
  479.     SERIES:         Wiley professional computing
  480.     ISBN:           0471577731;   047157774X (pbk.)
  481.  
  482. 6.     TITLE:          "Client Server Computing: Making It Work for You"   
  483.         PUBLISHED:     Parallan Computer, Inc.
  484.          Attn: Marketing Publications
  485.          201 Ravendale Drive
  486.          Mountain View, CA  94043
  487.  
  488. 7.     AUTHOR:         Boar, Bernard H., 1947-
  489.     TITLE:          Implementing client/server computing : a strategic 
  490.             perspective
  491.     SERIES:         McGraw-Hill systems design & implementation 
  492.     ISBN:           0070062153 :                  
  493.  
  494. 8.     AUTHOR:         Baker, Richard H.
  495.     TITLE:          Networking the enterprise : how to build client/server 
  496.             systems that work                              
  497.     PUBLISHED:      New York : McGraw-Hill, c1994
  498.     SERIES:         McGraw-Hill series on computer communications
  499.     ISBN:           0070050899 :  0070050902 (PBK) :            
  500.  
  501. 9.     AUTHOR:         Inmon, William H.                           
  502.     TITLE:          Developing client/server applications
  503.     PUBLISHED:      Boston : QED Pub. Group, c1993.            
  504.     ISBN:           0894354582 :                     
  505.  
  506. 10.     AUTHOR:         Khanna, R. (Editor)
  507.         TITLE:          Distributed Computing: Implementation and
  508.                         Management Strategies
  509.         PUBLISHED:      New Jersey: Prentice Hall, c1994
  510.         ISBN:           0-13-220138-0
  511.  
  512.  
  513. Papers/Articles:
  514. ------------------
  515.  
  516. 1. Sinha, Alok,. 1992. Client-Server Computing. Communications of the 
  517. ACM, Vol. 35 No.7 : 77-98. 
  518.  
  519.